#pragma once
#include "node.h"
#include "Token.h"

enum ExprType
{
    INT = 0,
    FLT
};

class Expr :
    public Node
{
public:
    Expr(Token *_tok);
    virtual ~Expr(void);

    int EvalInt();
    float EvalFlt();

    virtual int DoEvalInt();
    virtual float DoEvalFlt();

    inline ExprType Type() const { return type; }

protected:
    Token *token;
    ExprType type;
};

